<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // Object.defineProperty()
        // 语法：Object.defineProperty(obj, prop/key, descriptor)
        // 作用：给对象定义一个属性或者修改原来的一个属性，并返回这个对象
       
        const obj = {
            id:1,
            name:'小米',
            price:1999
        }

        // 从对象上删除某个属性 ==>  delete obj.price

        // 想给obj这个对象，添加一个属性 color 颜色 ，怎么做呢 ？
        // obj.color = 'red'
        // console.log(obj)

        // 可枚举，遍历对象的属性的意思，
        Object.defineProperty(obj, 'color', {
            value:'red',  // 设置属性值,
            enumerable:true, // 控制属性是否可以枚举，默认为false
            configurable:true, // 主要控制对象的这个属性是否可以被删除，默认为false
            writable:true,  // 控制对象的当前这一个属性是否可以被修改（设置、赋值） = ， 默认false
        })
        console.log(obj)

        // 遍历一个对象的属性 
        for (el in obj){
            console.log(el)
        }
        const res = Object.keys(obj)
        console.log(res)
    </script>
</body>
</html>